﻿using System;

namespace L2Sharp.Plugin
{
    /// <summary>
    /// Generic plugin interface
    /// </summary>
    public interface L2SharpPlugin
    {
        // Plugin Host
        L2SharpPluginHost Host { get; set; }

        string Name { get; }
        string Description { get; }
        string Author { get; }
        string Version { get; }
        PluginType Type { get; }

        void StartPlugin();
        void Initialize();
        void Dispose();

    }

    /// <summary>
    /// The host
    /// </summary>
    public interface L2SharpPluginHost
    {
        bool Register(L2SharpPlugin ipi);
    }

    /// <summary>
    /// Plugin Types
    /// </summary>
    public enum PluginType
    {
        Tools = 1
    }
}

